G_OBJECT_CLASS (gdk_clipboard_parent_class)->finalize (object);
}
+static GInputStream *
+gdk_clipboard_real_read (GdkClipboard *clipboard,
+ const char *mime_type)
+{
+ /* whoop whooop */
+ return g_memory_input_stream_new ();
+}
+
static void
gdk_clipboard_class_init (GdkClipboardClass *class)
{
object_class->set_property = gdk_clipboard_set_property;
object_class->finalize = gdk_clipboard_finalize;
+ class->read = gdk_clipboard_real_read;
+
/**
* GdkClipboard:display:
*
return priv->formats;
}
+GInputStream *
+gdk_clipboard_read (GdkClipboard *clipboard,
+ const char *mime_type)
+{
+ GdkClipboardPrivate *priv = gdk_clipboard_get_instance_private (clipboard);
+
+ g_return_val_if_fail (GDK_IS_CLIPBOARD (clipboard), NULL);
+ g_return_val_if_fail (mime_type != NULL, NULL);
+ g_return_val_if_fail (gdk_content_formats_contain_mime_type (priv->formats, mime_type), NULL);
+
+ return GDK_CLIPBOARD_GET_CLASS (clipboard)->read (clipboard, mime_type);
+}
+
GdkClipboard *
gdk_clipboard_new (GdkDisplay *display)
{
GDK_AVAILABLE_IN_3_94
GdkContentFormats * gdk_clipboard_get_formats (GdkClipboard *clipboard);
+GDK_AVAILABLE_IN_3_94
+GInputStream * gdk_clipboard_read (GdkClipboard *clipboard,
+ const char *mime_type);
G_END_DECLS
GObjectClass parent_class;
/* signals */
- void (* changed) (GdkClipboard *clipboard);
+ void (* changed) (GdkClipboard *clipboard);
/* vfuncs */
+ GInputStream * (* read) (GdkClipboard *clipboard,
+ const char *mime_type);
};
GdkClipboard * gdk_clipboard_new (GdkDisplay *display);
G_OBJECT_CLASS (gdk_x11_clipboard_parent_class)->finalize (object);
}
+static GInputStream *
+gdk_x11_clipboard_read (GdkClipboard *clipboard,
+ const char *mime_type)
+{
+ GdkX11Clipboard *cb = GDK_X11_CLIPBOARD (clipboard);
+
+ return gdk_x11_selection_input_stream_new (gdk_clipboard_get_display (GDK_CLIPBOARD (cb)),
+ cb->selection,
+ mime_type,
+ cb->timestamp);
+}
+
static void
gdk_x11_clipboard_class_init (GdkX11ClipboardClass *class)
{
GObjectClass *object_class = G_OBJECT_CLASS (class);
- //GdkClipboardClass *clipboard_class = GDK_CLIPBOARD_CLASS (class);
+ GdkClipboardClass *clipboard_class = GDK_CLIPBOARD_CLASS (class);
object_class->finalize = gdk_x11_clipboard_finalize;
+
+ clipboard_class->read = gdk_x11_clipboard_read;
}
static void